package com.sid.oncf.web;

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.sid.oncf.entity.Actualites;
import com.sid.oncf.services.interfaces.IActualiteService;

@SuppressWarnings("serial")
public class ActualiteAction extends ActionSupport implements ModelDriven<Actualites> {
	
	@Autowired
	private IActualiteService iActualiteService;
	
	private List<Actualites> listActualites;
	private Actualites actualites=new Actualites();
	private int id_actualite;
	private String name,actualite;
	private File image;
	
	public List<Actualites> getListActualites() {
		return listActualites;
	}
	public void setListActualites(List<Actualites> listActualites) {
		this.listActualites = listActualites;
	}
	public Actualites getActualites() {
		return actualites;
	}
	public void setActualites(Actualites actualites) {
		this.actualites = actualites;
	}
	public int getId_actualite() {
		return id_actualite;
	}
	public void setId_actualite(int id_actualite) {
		this.id_actualite = id_actualite;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getActualite() {
		return actualite;
	}
	public void setActualite(String actualite) {
		this.actualite = actualite;
	}
	public File getImage() {
		return image;
	}
	public void setImage(File image) {
		this.image = image;
	}
	
	public String execute(){
		return SUCCESS;
	}
	
	public String list_actualite(){
		System.out.println("test");
		listActualites=iActualiteService.findAllActualites();
		return SUCCESS;
	}
	
	public String add_actualite(){
		if(image==null){
			addActionMessage("Il faut choisir un fichier");
			return INPUT;
		}
		else{
			try{   
				   byte [] input=FileUtils.readFileToByteArray(image);
				   actualites.setName(name);
				   actualites.setActualite(actualite);
				   actualites.setPhoto(input);
				   iActualiteService.saveActualite(actualites);
				   return SUCCESS;
				}catch(IOException e){
			         e.printStackTrace();
			         return ERROR;
			    }
		}
	}
	
	public String edit_actualite(){
		actualites=iActualiteService.findActualite(id_actualite);
		return SUCCESS;
	}
	
	public String update_actualite(){
		iActualiteService.updateActualite(actualites);
	    return SUCCESS;
	}
	public Actualites getModel() {
		// TODO Auto-generated method stub
		return actualites;
	}

}
